package com.ehome.poct.core.service;

import com.ehome.core.service.AbstractCrudServiceImpl;
import com.ehome.poct.core.api.dto.patient.AddPatientDTO;
import com.ehome.poct.core.api.dto.patient.EditPatientDTO;
import com.ehome.poct.core.api.dto.patient.TermPatientDTO;
import com.ehome.poct.core.api.virtual.PatientService;
import com.ehome.poct.core.api.vo.patient.PatientDetailVO;
import com.ehome.poct.core.repository.PatientRepository;
import com.ehome.poct.core.repository.report.TermPatientRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * @author cq
 */
@Service
public class PatientServiceImpl extends AbstractCrudServiceImpl<AddPatientDTO> implements PatientService {

    @Autowired private PatientRepository patientRepository;
    @Autowired private TermPatientRepository termPatientRepository;

    @Override
    public PatientDetailVO addPatient(AddPatientDTO addPatientDto) {
        return patientRepository.addPatient(addPatientDto);
    }

    @Override
    public PatientDetailVO editPatient(EditPatientDTO editPatientDto) {
        return patientRepository.editPatient(editPatientDto);
    }

    @Override
    public PatientDetailVO getPatient(Long patientId) {
        return patientRepository.getPatient(patientId);
    }

    @Override
    public TermPatientDTO getPatientById(Long patientId) {
        return termPatientRepository.getById(patientId);
    }
}
